Gets the buffer only if it has already finished, and sliced to its expected size
Buffer may be bigger than expected size as it will be reused
The header may change after some time since it will be reused.
See Implementation